package cn.thinkluck.pattern.memento;

import lombok.Getter;
import lombok.Setter;

/**
 * 备忘对象
 *
 * @Author liutao
 * @DateTime 2024/8/4 下午3:30
 */
@Getter
@Setter
public class Originator {
    /**
     * 状态
     * 要备份的目标
     */
    private int state;

    /**
     * 创建备份
     *
     * @return 备忘录
     */
    public Memento createMemento() {
        return new Memento(state);
    }

    /**
     * 恢复备份
     *
     * @param memento 备忘录
     */
    public void restoreMemento(Memento memento) {
        this.state = memento.getState();
    }
}
